home *** CD-ROM | disk | FTP | other *** search
/ Fujiology Archive / fujiology_archive_v1_0.iso / I / IRS / BEATBOX2.ZIP / BEATBX2A.MSA /  DEPAC2.S < prev    next >
Text File  |  1986-10-19  |  6KB  |  227 lines

  1.         opt c+,d-
  2.  
  3.     
  4.     MOVEA.L    4(A7),A5
  5.     move.l $c(a5),d0
  6.     add.l $14(a5),d0
  7.     add.l $1c(a5),d0
  8.     add.l #$100,d0
  9.     move.l d0,-(sp)
  10.     move.l a5,-(sp)
  11.     move.l #$4a0000,-(sp)
  12.     trap #1
  13.     lea $c(a7),a7
  14.     CLR.L    -(A7)
  15.     MOVE.W    #$20,-(A7)
  16.     TRAP    #$01
  17.     MOVE.L D0,2(A7)
  18.     MOVE.L    $84.w,old84    ;SAVE OLD TRAP 1 ADDRESS
  19.     MOVE.L    #new84,$84.w    ;SET UP NEW TRAP 1 ADDRESS
  20.     TRAP    #$01
  21.     ADDQ.L    #6,A7
  22.     clr.w -(sp)
  23.     pea $ffffffff
  24.     move.l (a7),-(sp)
  25.     move.w #5,-(sp)
  26.     trap #14
  27.     lea $c(a7),a7
  28.     pea text    ;PUT YOUR SHIT HERE
  29.     move.w #9,-(sp)
  30.     trap #1
  31.     pea jamf
  32.     move.l (a7),-(sp)
  33.     move.l #gam,-(sp)    ;SELECT PROG TO EXECUTE FIRST
  34.     move.l #$4b0000,-(sp)
  35.     trap #1
  36.     lea $10(a7),a7
  37.     clr.w -(sp)
  38.     trap #1
  39. jamf    DC.L    0
  40.  
  41. new84        movem.l    a0-a6/d0-d7,reg
  42.         movea.l    a7,a1
  43.         addq.l     #6,a1
  44.         move.w     (a7),d0
  45.         btst     #$d,d0
  46.         bne.s     alien_is
  47.         move.l     usp,a1
  48. alien_is    cmpi.w     #$3F,(a1)
  49.         bEQ.s     read
  50. a_prick        movem.l     reg,a0-a6/d0-d7
  51.         dc.w     $4ef9
  52. old84        dc.l     $0
  53. memadd        dc.l     $0
  54. read        move.l     $8(a1),memadd    ;store address that file is loading to
  55.         move.l $2(a7),exit3f    ;make return address
  56.         move.l #domore,$2(a7)    ;now change return address so we can depack before really returning back to main program
  57.         bra.s a_prick
  58. reg        dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  59. realsize    dc.l 0
  60. domore        movem.l d0-d7/a0-a6,-(sp)
  61.         move.l d0,realsize    ;d0 now contains actual size of datafile just read
  62.                     ;d0 will be changed if the file just read is packed
  63.         pea pompey_puffs
  64.         move.w #$26,-(sp)    
  65.         trap #14    ;use supervisor mode (not necessary if you do not want to flash colors)
  66.         addq.l #6,sp
  67.         movem.l (a7)+,d0-d7/a0-a6
  68.         move.l realsize,d0    ;return with file size in d0
  69.         dc.w $4ef9    ;hex code for JMP instruction
  70. exit3f        dc.l 0
  71. pompey_puffs
  72.         move.l memadd,a4
  73.         add.l realsize,a4    ;pointer now at file end
  74.         move.l a4,a2
  75.         subq.l #4,a4
  76.         move.b (a4),d0        ;using bytes in case of odd addressing
  77.         rol.l #8,d0
  78.         move.b 1(a4),d0
  79.         rol.l #8,d0
  80.         move.b 2(a4),d0
  81.         rol.l #8,d0
  82.         move.b 3(a4),d0        
  83.         cmp.l #$50554646,d0    ;check header (PUFF) to see if flie is packed
  84.         bne ret
  85.         move.l a4,a0
  86.         move.l -(a0),d6        ;d6 = realsize
  87.         move.l d6,realsize      ;change realsize as this file is packed
  88.         move.l -(a0),d2        ;d2 = packed size
  89.         sub.l d2,a2
  90.         move.l a2,a4
  91.         add.l d6,a2
  92.         moveq.l #0,d0
  93.         lea $ffff8240.w,a6
  94.         move.w (a6),d7
  95. puffs0        move.b -(a0),d0
  96.         beq.s puffs0
  97. puffs1        moveq.l #0,d2
  98.         cmpa.l a2,a0
  99.         bgt ret
  100.         bsr puffs15
  101.         bcs.s puffs4
  102.         move.b -(a0),d2
  103. puffs2        move.b d2,-(a2)
  104.         bra.s puffs6
  105. puffs3        moveq.l #15,d4
  106.         moveq.l #2,d3
  107.         bsr puffs18
  108.         bne puffs13
  109.         move.w d4,d2
  110.         bra.s puffs2
  111. puffs4        bsr puffs15
  112.         bcc puffs9
  113.         bsr puffs15
  114.         bcc puffs3
  115.         bsr puffs15
  116.         bcs puffs5
  117.         moveq.l #2,d1
  118.         bsr puffs22
  119.         exg d1,d2
  120.         addq.w #1,d2
  121.         bset d1,d2
  122.         bra puffs2
  123. puffs5        bsr puffs15
  124.         bcs.s puffs8
  125.         moveq.l #15,d4
  126.         moveq.w #3,d3
  127.         bsr.s puffs18
  128.         bne.s puffs13
  129.         move.b (a2),-(a2)
  130. puffs6        neg.w (a6)    ;play around with blah.w,(a6) for colour flashing effects
  131.         move.w d7,(a6)    ;d7 is restoring default colour
  132.         cmpa.l a2,a4
  133.         blt puffs1
  134. puffs7        rts
  135. puffs8        moveq.l #4,d3
  136.         bra.s puffs12
  137. puffs9        bsr puffs15
  138.         bcs puffs27
  139.         moveq.l #1,d1
  140. puffs10        lsr.b #1,d0
  141.         bne.s puffs11
  142.         move.b -(a0),d0
  143.         roxr.b #1,d0
  144. puffs11        addx.w d2,d2
  145.         dbf d1,puffs10
  146.         move.w d2,d1
  147.         beq puffs26
  148.         addq.w #1,d1
  149.         add.w d1,d1
  150.         subq.w #1,d1
  151.         bsr puffs22
  152.         move.w d2,d3
  153. puffs12        bsr.s puffs17
  154. puffs13        movea.l a2,a1
  155.         adda.l d2,a1
  156. puffs14        move.b -(a1),-(a2)
  157.         dbf d3,puffs14
  158.         bra puffs6
  159. puffs15        lsr.b #1,d0
  160.         bne.s puffs16
  161.         move.b -(a0),d0
  162.         roxr.b #1,d0
  163. puffs16        rts
  164. puffs17        moveq.l #0,d4
  165. puffs18        moveq.l #1,d1
  166.         moveq.l #0,d2
  167. puffs19        lsr.b #1,d0
  168.         bne.s thanks_jpm
  169. puffs20        move.b -(a0),d0
  170.         roxr.b #1,d0
  171. thanks_jpm
  172.         addx.w d2,d2
  173.         dbf d1,puffs19
  174.         move.w d2,d1
  175.         addq.w #1,d1
  176.         lsl.w #2,d1
  177.         subq.w #1,d1
  178.         eor.b d1,d4
  179.         bne.s puffs22
  180.         rts
  181. puffs21        moveq.l #7,d1
  182. puffs22        moveq.l #0,d2
  183. puffs23        lsr.b #1,d0
  184.         bne.s puffs25
  185. puffs24        move.b -(a0),d0
  186.         roxr.b #1,d0
  187. puffs25        addx.w d2,d2
  188.         dbf d1,puffs23
  189.         rts
  190. puffs26        bsr puffs17
  191.         move.w d2,d3
  192.         moveq.l #1,d2
  193.         bra puffs13
  194. puffs27        moveq.l #1,d3
  195.         move.b -(a0),d2
  196.         bra puffs13 
  197.  
  198. ret        rts            
  199. gam        dc.b "musicdem.prg",0
  200. text        dc.b "****************************************",13,10 
  201.         dc.b "*                                      *",13,10
  202.         dc.b "*   BBBB     EEEEEE   AAAA   TTTTTTT   *",13,10
  203.             dc.b "*   B   B    E       A    A     T      *",13,10 
  204.         dc.b "*   B    B   E       A    A     T      *",13,10
  205.         dc.b "*   B  BB    EEEE    AAAAAA     T      *",13,10
  206.         dc.b "*   B    B   E       A    A     T         *",13,10
  207.             dc.b "*   B     B  E       A    A     T      *",13,10 
  208.             dc.b "*   BBBBBB   EEEEEE  A    A     T      *",13,10
  209.             dc.b "*                                      *",13,10
  210.             dc.b "*      BBBB      OOOO   X     X        *",13,10
  211.             dc.b "*      B   B    O    O   X   X         *",13,10
  212.             dc.b "*      B    B   O    O    X X          *",13,10
  213.             dc.b "*      B  BB    O    O     X           *",13,10
  214.             dc.b "*      B    B   O    O    X X          *",13,10
  215.             dc.b "*      B     B  O    O   X   X         *",13,10
  216.             dc.b "*      BBBBBB    OOOO   X     X        *",13,10
  217.             dc.b "*                                      *",13,10
  218.             dc.b "*         WRITTEN BY NOOKEY            *",13,10
  219.             dc.b "*       GRAPHIX BY TURBO MACK          *",13,10 
  220.             dc.b "*                                      *",13,10
  221.             dc.b "*     WARNING! I.R.S. USE ONLY!        *",13,10
  222.             dc.b "*                                      *",13,10 
  223.             dc.b "****************************************",13,10 
  224.         dc.b "",0
  225.         
  226.         
  227.